home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xlock / usleep.c < prev    next >
C/C++ Source or Header  |  1995-05-09  |  863b  |  43 lines

  1. #ifndef lint
  2. static char sccsid[] = "@(#)usleep.c    1.3 91/05/24 XLOCK";
  3. #endif
  4. /*-
  5.  * usleep.c - OS dependant implementation of usleep().
  6.  *
  7.  * Copyright (c) 1991 by Patrick J. Naughton.
  8.  *
  9.  * Revision History:
  10.  * 30-Aug-90: written.
  11.  *
  12.  */
  13.  
  14. #include "xlock.h"
  15.  
  16. int
  17. usleep(usec)
  18.     unsigned long usec;
  19. {
  20. #if SYSV && !sco
  21.     poll((struct poll *) 0, (size_t) 0, usec / 1000);    /* ms resolution */
  22. #else
  23.     struct timeval timeout;
  24.     timeout.tv_usec = usec % (unsigned long) 1000000;
  25.     timeout.tv_sec = usec / (unsigned long) 1000000;
  26.     select(0, (void *) 0, (void *) 0, (void *) 0, &timeout);
  27. #endif
  28.     return 0;
  29. }
  30.  
  31. /*
  32.  * returns the number of seconds since 01-Jan-70.
  33.  * This is used to control rate and timeout in many of the animations.
  34.  */
  35. long
  36. seconds()
  37. {
  38.     struct timeval now;
  39.  
  40.     gettimeofday(&now, (struct timezone *) 0);
  41.     return now.tv_sec;
  42. }
  43.